In the processing of medical imaging data it is often useful to show the same anatomical location in different scans, for example CT, MR, or PET scans, of the same patient.
For example, processing a CT chest exam usually requires reference to prior chest CT exams performed on the same patient, which may have been acquired using various different CT scanners. In another example, many conditions are diagnosed using both a CT and an MR exam of the same part of the body. In that case, more accurate or informative results can be obtained by displaying or otherwise processing the results of both the CT and the MR scan in combination. That is especially true of processing for display, where the goal can be to create images that are correlated spatially to show the same anatomy as it appears in each of the CT and MR datasets.
It may also be desired to correlate measurements of particular features or types of features, for example lung nodules, obtained at different times using the same or different imaging modalities.
The time difference between when one scan and another scan on the same patient is performed may be short, for example hours or days, or long, for example years. The need to process together data obtained from different scans, or to use information derived from one scan in analysis of another scan, can present significant technical difficulties particularly when the scans are widely separated in time, or are obtained at different locations.
In one specific example, a patient may have a chest CT scan in Shanghai in 2004, which is reported as being normal. The same patient may have a chest CT scan in Tokyo in 2005 and two nodules may be found. It may be desired to check the location of the nodules in the CT dataset obtained in 2004 to verify disease progression. However, technical, legal or other reasons may prevent sharing of three-dimensional datasets between hospitals, particularly hospitals in different countries and particularly given the large size of the three dimensional datasets.
In another example, a patient suffering a seizure may have a brain MR scan in 2002 and subsequently be treated for cerebral oedema. The same patient may have an emergency CT scan in 2009 after having suffered a stroke. It would be desirable to indicate in the emergency CT scan data the area in which the patient previously suffered the cerebral oedema. However, the three-dimensional MR dataset obtained in 2002 may have been deleted due to limited storage space. Only two-dimensional key image data may have been saved in accordance with what is usual practice in many hospitals. Thus, it may not be possible to accurately indicate the desired area.
In a further example, a patient may have an abdominal CT scan in a Sao Paulo hospital. A liver lesion may be detected which is considered benign or to be monitored. A mobile CT truck then visits a remote Brazilian town three months later and a CT scan is performed on the same patient. It would be desirable for the CT operator in the truck to show the CT data obtained in the hospital side-by-side with the CT data obtained by the CT scanner in the truck. However, there may be limited wireless bandwidth available to transmit data between the truck and the hospital, making it difficult or impossible in practice to share data between the CT truck and the hospital.
The above examples relate to situations in which data is to be shared between widely separated locations, or data is obtained at widely separated points in time. However, there can also be problems with sharing data even between systems located in the same hospital, particularly if a distributed server architecture is used.
In many known systems, a central server is connected to many different imaging apparatuses, for example many different CT or MR scanners, via a network. Each imaging apparatus sends the results of measurements that it performs to the central server, where they are logged and stored, usually in a picture archiving and communication (PACS) system. The results are usually in the form of image datasets comprising one or a sequence of images. Images may be viewed and processed by an operator at the imaging apparatus.
If correlation of images or other results obtained from different imaging apparatus or at different times is required, then the processing of the images or other results to obtain such correlation is usually performed at the central server. The position of anatomical features will almost always be different in image datasets obtained at different times or using different apparatus. In known systems, if two image datasets stored at the server are to be correlated, the server usually performs a rigid or non-rigid registration process in accordance with well-known techniques. For example, it is common diagnostic practice to identify one image dataset as a reference, and to register other image datasets to that reference, or to register different image datasets in a pairwise fashion.
It is also known to register image datasets from many different patients to an atlas to enable a comparison with a common reference, for example for the purposes of medical research.
More recently, it has been suggested that a distributed server architecture can be used to process data from a plurality of imaging apparatus, in which a separate server is associated with each imaging apparatus. For example one server is attached to a CT scanner, another server is attached to an MR scanner, a further server is attached to a further CT scanner. The individual servers are connected to each other and to at least one client via a network. Although the servers are interconnected, each server is configured to store and process the medical image data generated by its associated imaging apparatus. For example, the server attached to a CT scanner processes and stores the CT data, the server attached to a second CT scanner processes and stores the data from that second CT scanner and the server attached to an MR scanner processes and stores the MR data.
In such a distributed server system, a processing application running on a first server associated with a first CT scanner can access the data from that CT scanner directly but can only access data from a second CT scanner, or from an MR scanner, by requesting a time-consuming data transfer via the network. In order to correlate the location of features across N datasets a naïve implementation may require up to O(N2) comparisons of datasets, where each comparison generates a registration between the two datasets. A more advanced implementation, where one data set is designated as reference, may still require up to O(N) comparisons where each of the other datasets is registered with the reference. An implementation of a registration and correlation process of N datasets using the distributed system described in the previous paragraph may result in up to O(N2) transmissions of CT or MR datasets through the network, as each application attempts to access the data that it needs for a direct comparison. Even if it were practical to designate one dataset as reference, it would still be necessary to transmit up to O(N) datasets to one server to perform the registrations. The transmission and processing of such large quantities of data is both time-consuming and inefficient.